• 1401/02/07
  • 0
  • 107
1401/02/07 |
c-sharp
dot-net

سوال درباره معماری ها مربوط به دوره سی شارپ متوسط

با سلام و احترام و خسته نباشید.

دوره خیلی خوبی بود.بنده چند سال سی شارپ برنامه نویسی کردم ولی چند سالی هست که با برنامه نویسی فاصله گرفتم . برای همین برای مرور دوره های شما را خریداری کردم. آخرین معماری که استفاده کردم از تکنولوژی mvc استفاده کردم تا حدی شبیه معماری شما بود. از نوع database base استفاده میکردم و قبلش پایگاه داده را داشتم.
آقای مهندس بابایی ،دو تا سوال داشتم ممنون میشم جواب بدید : 
1. معماری mvc که توضیح دادید استاندارد هست یا تا حدودی سلیقه ای هم بوده. منظورم بیشتر بحث پوشه بندی ها و ...

2. طبق فایلهای آموزشی، شما dto ها را در لایه bll ساختید، آیا بهتر نبود که در لایه dll که مختص ارتباط با داده می باشد ساخته شوند و در لایه bll  فقط مباحث مربوط به منطق برنامه قرار گیرد؟
3. بنده معماری کلین را بلد نبودم و همینطور همیشه database base جلو میرفتم که قبلش پایگاه داده Sql را ساخته بودم. تا حدودی متوسط و شاید بالاتر sql آشنایی دارم.
سوالی که دارم مباحث کلید خارجی یا محدودیت ها داخل پایگاه را چطور میشه تو حالت code first که توضیح دادید انجام میشه داد؟
4- تو این دوره نحوه آپدیت از کد به پایگاه داده را توضیح دادید .برعکسش را چطور میشه انجام داد.

از دوره و مباحث و فن بیان خیلی خوبتون تشکر میکنم.

سپاس از پاسخ گویی

با تشکر

1401/02/07


با عرض سلام

خوشحالیم که با دوره های باگتو دوباره شروع به کدنویسی کرده اید و منتظر موفقیت های بیشتری از شما هستیم.

پاسخ سوال 1 : در این دوره معماری Clean آموزش داده شد نه MVC . اما در مورد معماری Clean پیاده سازی های زیادی وجود داره که اگر در گیت هاب هم جستجور نمایید می توانید پیاده سازی های مختلفی را ببینید که همه آنها یک هدف را دنیال می کنند. پیاده سازی که در این دوره از معماری Clean انجام شد یکی از این پیاده سازی هاست که جداسازی ها به خوبی انجام شده است.

پاسخ سوال 2: چون در لایه های پایینی نمی توان از لایه های بالاتر استفاده کرد باید dto در لایه Application ایجاد شود. البته راه بهتر این است که در هر لایه dto مورد نیاز آن را ایجاد کنیم و با استفاده از Automapper عملیات mapping را برای انتقال داده های استفاده کنیم.

پاسخ سوال 3 : با ارائه نسخه های جدید از EFCore تقریبا میشه گفت اکثر نیازهای ما برنامه نویسان را پوشش می دهد. برای این که بتوانید تمامی نیازهای خود را در CodeFirst بدست بیاورید باید تسلط کافی بر ٍEFCore داشته باشد.

پاسخ سوال 4 : در EFCore فقط روش CodeFirst داریم و همیشه باید از کد به سمت دیتابیس آپدیت کنیم. البته خود EFCore دستوری به نام scaffold  دارد که با این دستور می توانید دیتابیس موجود خود را به کد تبدیل نمایید و ادامه کار را با همان روش CodeFirst پیش ببرید.

 

موفق باشید



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری